package top.fullj.remoting;

import javax.annotation.Nonnull;
import java.util.Map;

/**
 * @author bruce.wu
 * @since 2022/2/14 10:30
 */
public interface Context {

    boolean hasAttr(@Nonnull String key);

    <T> T getAttr(@Nonnull String key);

    Object setAttr(@Nonnull String key, @Nonnull Object value);

    Object remove(@Nonnull String key);

    @Nonnull
    Map<String, ?> toMap();

}
